import { Injectable } from '@nestjs/common';
import { CreatePromptDto } from './dto/create-prompt.dto';
import { UpdatePromptDto } from './dto/update-prompt.dto';
import { PrismaService } from 'src/prisma.service';
import { Prompt } from './entities/prompt.entity';

@Injectable()
export class PromptService {
  constructor(private prisma: PrismaService) {}

  async create(createPromptDto: CreatePromptDto): Promise<Prompt> {
    return await this.prisma.prompt.create({
      data: createPromptDto,
    });
  }

  async findAll(): Promise<Prompt[]> {
    return await this.prisma.prompt.findMany();
  }

  async findOne(id: number): Promise<Prompt | null> {
    return await this.prisma.prompt.findUnique({
      where: { id },
    });
  }

  async update(id: number, updatePromptDto: UpdatePromptDto): Promise<Prompt> {
    return await this.prisma.prompt.update({
      where: { id },
      data: updatePromptDto,
    });
  }

  async remove(id: number): Promise<Prompt> {
    return await this.prisma.prompt.delete({
      where: { id },
    });
  }
}
